package main

import (
	"context"
	"encoding/base64"
	"fmt"
	"io/ioutil"
	"path/filepath"
	"strings"
)

// App struct
type App struct {
	ctx context.Context
}

// NewApp creates a new App application struct
func NewApp() *App {
	return &App{}
}

// startup is called when the app starts. The context is saved
// so we can call the runtime methods
func (a *App) startup(ctx context.Context) {
	a.ctx = ctx
}

// Greet returns a greeting for the given name
func (a *App) Greet(name string) string {
	return fmt.Sprintf("Hello %s, It's show time!", name)
}

// SaveCroppedImage 方法用于保存截图
func (a *App) SaveCroppedImage(croppedImageBase64 string) {
	decodedImage, err := base64.StdEncoding.DecodeString(strings.Split(croppedImageBase64, ",")[1])
	if err != nil {
		fmt.Println("Error decoding image:", err)
		return
	}

	imagePath := filepath.Join("path/to/save/cropped/images", "cropped_image.jpg")
	err = ioutil.WriteFile(imagePath, decodedImage, 0644)
	if err != nil {
		fmt.Println("Error saving image:", err)
		return
	}

	fmt.Println("Cropped image saved successfully!")
}
